home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er
/
64ER_CD.iso
/
sh1x
/
sh13a.d64
/
quellcode messr.
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
1995-03-30
|
2KB
|
133 lines
100 SYS9*4096
110 .OPT P,OO
120 *= 52000
125 IRQVEC = $FFFE
130 NMIVEC = $FFFA
135 VIC = $D000
140 TA1LO = $DC04
150 TA1HI = $DC05
160 TB1LO = $DC06
170 TB1HI = $DC07
180 ICR1 = $DC0D
190 CRA1 = $DC0E
200 CRB1 = $DC0F
210 ;
220 TA2LO = $DD04
230 TA2HI = $DD05
240 TB2LO = $DD06
250 TB2HI = $DD07
260 ICR2 = $DD0D
270 CRA2 = $DD0E
280 CRB2 = $DD0F
290 VICSR1 = VIC+17
300 ;
310 BTA1LO = $02C0,BUFFERS AB 704
320 BTA1HI = BTA1LO+1
330 BTB1LO = BTA1LO+2
340 BTB1HI = BTA1LO+3
350 FULL = BTA1LO+4
360 ;
380 IRQBUF = $02D0;ZWISCHENSPEICHER
390 NMIBUF = IRQBUF+2
400 CPUBUF = IRQBUF+4
450 ;
500 START SEI
502 LDA $01
504 STA CPUBUF;ZUSTAND MERKEN
506 LDA #$35
508 STA $01;ROM AUS
510 LDA IRQVEC;IRQVEC MERKEN
520 STA IRQBUF
530 LDA IRQVEC+1
535 STA IRQBUF+1
540 STA IRQBUF+1
542 LDA NMIVEC;NMIVEC MERKEN
544 STA NMIBUF
546 LDA NMIVEC+1
548 STA NMIBUF+1
549 ;
550 LDA #<ABLESE;NEUER VEKTOR
560 STA IRQVEC
565 STA NMIVEC
570 LDA #>ABLESE
580 STA IRQVEC+1
585 STA NMIVEC+1
599 ;
600 STOP LDA #%10010000;SYSTEMTAKTE
610 STA CRA1
620 LDA #%11011000;UNTERLAEUFE ZAEHLEN
630 STA CRB1
640 LDA #%10111000;CNT-FLANKEN ZAEHLEN
650 STA CRA2
660 SET LDA BTA1LO;ALLE LADEN
670 STA TA1LO
680 LDA BTA1HI
690 STA TA1HI
700 LDA BTB1LO
710 STA TB1LO
720 LDA BTB1HI
730 STA TB1HI
740 LDA #$FF;DEFAULT
745 STA FULL
750 STA TA2LO
760 STA TA2HI
770 SETICR LDA #%01111111;LOESCHEN
780 STA ICR1
790 STA ICR2
800 LDA #%10000010;IRQ DURCH B-UNTERL.
810 STA ICR1
820 LDA #%11011001;UHR START B
825 STA CRB1
828 LDA #%10010001;UHR START
830 LDX #%10111001;COUNTER START
835 LDY #%10101000;STOP FUER SPAETER Y-REG BLEIBT BEI IRQ
840 CLI
850 STA CRA1;START UHR
860 STX CRA2;START COUNTER
880 TEST LDA TA2HI;UEBERLAUFTEST
890 BNE TEST
900 LDA TA2LO;LOBYTE
910 BNE TEST
950 SEI
960 LDA #$01
970 STA FULL;FLAG SETZEN
980 JMP NORMAL
999 ;
1010 ABLESE SEI;IRQ ROUTINE
1020 STY CRA2;COUNTER STOPPEN
1030 LDA TA2LO;ABSPEICHERN
1040 STA BTA1LO
1050 LDA TA2HI
1060 STA BTA1HI
1070 PLA
1075 ;PLA
1080 PLA
1085 ;PLA
1090 PLA
1095 ;PLA
1100 NORMAL LDA #%10010000;A STOP
1110 STA CRA1
1120 LDA #%11011000;B STOP
1130 STA CRB1
1150 LDA IRQBUF;VEKTOR HOLEN
1160 STA IRQVEC
1170 LDA IRQBUF+1
1180 STA IRQVEC+1
1182 LDA NMIBUF;VEKTOR HOLEN
1184 STA NMIVEC
1186 LDA NMIBUF+1
1188 STA NMIVEC+1
1190 LDA #$40
1200 STA TA1HI
1230 LDA #%01111111;LOESCHEN
1240 STA ICR1
1250 STA ICR2
1260 LDA #%10000001;IRQ DURCH A-UNTERL
1270 STA ICR1
1280 LDA #$01;TIMER A STARTEN
1290 STA CRA1
1300 LDA CPUBUF
1310 STA $01;ALTER ZUSTAND
1340 CLI
1350 RTS